/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package server.databank;

import server.databank.dataklassen.Speler;
import java.util.ArrayList;
import server.databank.dataklassen.Wedstrijd;

/**
 *
 * @author jef donders
 */
public class TestDatabank {

    private DataStorage storage;
       
    public TestDatabank(){
        
    }
    
    public void test(){
        System.out.println("databanktester");
        
        storage = new DataStorage();
        
        //storage.geefSpelers();
        
        //testLogin("anquilas", "testfd");
        
        //testSpelerOpvragen("donderz");
        
        //storage.veranderWachtwoord("donderz", "joskekanniet");
        
        //System.out.println("\n\nemail van donderz: " + storage.geefMail("donderz"));
        
        System.out.println("\n\nspeler proberen aan te maken:");
        //storage.maakSpeler("joske", "blfdgsqfdseh", "fdfgsqfdst");
        //storage.maakSpeler("josefien", "4", "fdsqfdgfst");
        //storage.maakSpeler("marieke", "3", "fdsfgdsgqfdst");
        //storage.maakSpeler("delphine", "2", "fdsqgfsgfdst");
        //storage.maakSpeler("timmeke", "1", "fdsqfgfsgdst");
        
        //testMatchenOpvragen("donderz");
        
        testBattleToevoegen();
        
        
        System.out.println("finished");
    }
    
    
    private void testLogin(String nick, String pass){
        Speler speler = storage.login(nick, pass);
        if (speler != null){
            System.out.println("login gelukt, spelergegeven :" 
                    + "\nnickname: " + speler.getNick() 
                    + "\nemail: " + speler.getEmail()
                    + "\nwincount: " + speler.getWincount()
                    + "\nlosscount: " + speler.getLosscount());
                    
        } else{
            System.out.println("inloggen mislukt");
        }
    }
    private void testSpelerOpvragen(String nick){
        System.out.println("\n\ngegevens van een speler opvragen:");
        Speler speler = storage.geefSpeler(nick);
        if (speler != null){
            System.out.println("speler gevonden: " 
                    + "\nnickname: " + speler.getNick() 
                    + "\nemail: " + speler.getEmail()
                    + "\nwincount: " + speler.getWincount()
                    + "\nlosscount: " + speler.getLosscount());
                    
        } else{
            System.out.println("speler niet gevonden");
        }
    }
    
    private void testMatchenOpvragen(String nick){
        System.out.println("\n\nmatchen: ");
        ArrayList<Wedstrijd> wedstrijden = storage.getOverzichtWedstrijden(nick);
        
        for (int i=0;i<wedstrijden.size();i++){
            System.out.println("wedstrijd nr :" + i);
            Wedstrijd wed = wedstrijden.get(i);
            //System.out.println(wed.getWinnaar() + wed.getBattleId() +wed.getMapname() + wed.getDatum() + wed.getSpeelduur() );
        }
    }
    
    private void testBattleToevoegen(){
        System.out.println("\n\nbattle toevoegen: ");
        ArrayList<String> winnaars = new ArrayList<String>();
        ArrayList<String> verliezers = new ArrayList<String>();
        winnaars.add("donderz");
        winnaars.add("timmeke");
        verliezers.add("anquilas");
        verliezers.add("joske");
        if (storage.maakBattle(winnaars, verliezers, "12:45:10", "12:12:10" , "the pit"))
            System.out.println("battle succesvol toegevoegd");
        else
            System.out.print("battle toevoegen mislukt");
        storage.maakBattle(winnaars, verliezers, "10:15:24", "10:4:10" , "lost temple");
        
        winnaars.remove("timmeke");
        verliezers.remove("joske");
        
        storage.maakBattle(winnaars, verliezers, "15:42:33", "12:12:12" , "gnoll wood");
        
        winnaars.add("joske");
        verliezers.add("timmeke");
        winnaars.add("delphine");
        verliezers.add("marieke");
        
        storage.maakBattle(winnaars, verliezers, "15:12:33", "12:12:12" , "lost temple");
        
        verliezers.add("josefien");
        storage.maakBattle(winnaars, verliezers, "17:47:13", "02:6:13" , "testmap");
        
    }
}
